<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // 1. 基本类型
      let num = 10;
      let foodName = "西兰花炒蛋";
      let male = false;
      let empty = undefined;
      let empty2 = null;

      // 动态类型，变量声明时候的类型，后期可以赋值不同类型的数据
      foodName = "剁椒鱼头";
      console.log(foodName);

      // 2. 复杂类型
      // 栈：堆中的地址
      // 堆：具体的数据
      const food = {
        name: "西兰花",
        color: "绿色",
        price: 5,
      };
      console.log(food);

      // 把 food 的 堆中的地址赋值给 food2
      // food2和 food 都指向了同一个 堆中的数据
      const food2 = food;
      // food.name 其实也改了
      food2.name = "花菜";

      console.log(food.name); // 西兰花（花菜）
      console.log(food2.name); // 花菜

      const arr = ["花菜", 1, false, { name: "jack" }];

      const sayHi = (name, age) => {
        console.log("我是一个函数");
        console.log(name);
        console.log(age);
      };

      sayHi("jack", 18);
    </script>
  </body>
</html>
